package com.alogic.xscript.util;

/**
 * 常量类
 * @author duanwaiwai
 * 
 * @since 1.6.12.28 [20190407] <br>
 *
 * @version 1.6.12.49 [20191108] <br>
 * - 增加mask相关插件，包括身份证，手机，邮箱等; <br>
 *
 * @version 1.6.12.50 [20191202 duanyy] <br>
 * - 增加repeat-obj指令，用于遍历对象的子对象 <br>
 *
 * @version 1.6.12.57 [20200103] <br>
 * - 增加通用matcher插件 <br>
 *
 * @version 1.6.13.6 [20200629 duanyy] <br>
 * - 增加时间相关以及递归算法插件； <br>
 *
 * @version 1.6.13.7 [20200720 duanyy] <br>
 * - 增加regex-match-multi,formula-ext等插件 <br>
 *
 * @version 1.6.13.10 [20200827 duanyy] <br>
 * - 增加filter插件 <br>
 *
 * @version 1.6.13.23 [20201030 duanyy] <br>
 * - 优化xscript的日志机制  <br>
 *
 * @version  1.6.13.26 [20201114 duanyy] <br>
 * - 增加url-appender2插件 <br>
 *
 * @version 1.6.14.3 [20210322 duanyy] <br>
 * - 增加stdin,stdout等插件 <br>
 *
 * @version 1.6.14.9 [20210507 duanyy] <br>
 * - 增加cron-match插件 <br>
 */
public interface LogicletConstants {
    public static final String STMT_FINALLY = "finally";
    public static final String STMT_EXCEPTION = "except";
    public static final String STMT_ASYNC = "async";
    public static final String STMT_USING = "using";
    public static final String STMT_SEGMENT = "segment";
    public static final String STMT_THROW = "throw";
    public static final String STMT_INCLUDE = "include";
    public static final String STMT_TEMPLATE = "template";
    public static final String STMT_MSG = "msg";
    public static final String STMT_LOCATION = "location";
    public static final String STMT_SCOPE = "scope";
    public static final String STMT_GET = "get";
    public static final String STMT_SET = "set";
    public static final String STMT_SET_MULTI = "set-multi";
    public static final String STMT_SELECT = "select";
    public static final String STMT_ENCRYPT = "encrypt";
    public static final String STMT_DECRYPT = "decrypt";
    public static final String STMT_CHECK = "check";
    public static final String STMT_CHECK_AND_SET = "checkAndSet";
    public static final String STMT_REPEAT = "repeat";
    public static final String STMT_REPEAT_OBJ  = "repeat-obj";
    public static final String STMT_CASE = "case";
    public static final String STMT_SWITCH = "switch";
    public static final String STMT_DEFAULT = "default";
    public static final String STMT_FORMULA = "formula";
    public static final String STMT_FORMULA_EXT = "formula-ext";
    public static final String STMT_NOW = "now";
    public static final String STMT_NOW_NANO = "now-nano";
    public static final String STMT_UUID = "uuid";
    public static final String STMT_CONSTANTS = "constants";
    public static final String STMT_LOG = "log";
    public static final String STMT_SLEEP = "sleep";
    public static final String STMT_FOREACH = "foreach";
    public static final String STMT_WHILE = "while";
    public static final String STMT_OBJ = "obj";
    public static final String STMT_OBJ_BRIDGE = "obj-bridge";
    public static final String STMT_OBJ_BRIDGE_ADD = "obj-bridge-add";
    public static final String STMT_OBJ_BRIDGE_REMOVE = "obj-bridge-remove";
    public static final String STMT_ARRAY = "array";
    public static final String STMT_ARRAY_CHILD = "array-child";
    public static final String STMT_ARRAYITEM = "array-item";
    public static final String STMT_ARRAYSTRING = "array-string";
    public static final String STMT_TRIM = "trim";
    public static final String STMT_UPPERCASE = "uppercase";
    public static final String STMT_LOWERCASE = "lowercase";
    public static final String STMT_SUBSTR = "substr";
    public static final String STMT_SETTING = "setting";
    public static final String STMT_SETTING_GET = "setting-get";
    public static final String STMT_SETTING_SET = "setting-set";
    public static final String STMT_ENV = "env";
    public static final String STMT_GETASJSON = "getAsJson";
    public static final String STMT_SETASJSON = "setAsJson";
    public static final String STMT_HASH = "hash";
    public static final String STMT_MATCH = "match";
    public static final String STMT_MATCHER = "matcher";
    public static final String STMT_REM = "rem";
    public static final String STMT_DURATION = "duration";
    public static final String STMT_INCR = "incr";
    public static final String STMT_DECR = "decr";
    public static final String STMT_RAND = "rand";
    public static final String STMT_HEX = "hex";
    public static final String STMT_IF_TRUE = "if-true";
    public static final String STMT_IF_FALSE = "if-false";
    public static final String STMT_IF_EXIST = "if-exist";
    public static final String STMT_IF_NOT_EXIST = "if-n-exist";
    public static final String STMT_IF_EQUAL = "if-equal";
    public static final String STMT_IF_NOT_EQUAL = "if-n-equal";
    public static final String STMT_NEW_LINE = "newline";
    public static final String STMT_FUNC_DECLARE = "func-declare";
    public static final String STMT_FUNC_CALL = "func-call";
    public static final String STMT_FUNC_CALLBACK = "func-callback";
    public static final String STMT_EVAL = "eval";
    public static final String STMT_LOAD = "load";
    public static final String STMT_LOCK = "lock";
    public static final String STMT_COUNTER = "counter";
    public static final String STMT_ARRAY_SET = "array-set";
    public static final String STMT_STRING_PROCESS = "sp";
    public static final String STMT_PLUS = "plus";
    public static final String STMT_MUL = "mul";
    public static final String STMT_DIVIDE = "div";
    public static final String STMT_REGEX_MATCHER = "regex-match";
    public static final String STMT_REGEX_MATCHER_MULTI = "regex-match-multi";
    public static final String STMT_TREE = "tree";
    public static final String STMT_TREE_NODE = "tree-node";
    public static final String STMT_TREE_OUTPUT = "tree-output";
    public static final String STMT_TREE_TRAVERSE = "tree-traverse";
    public static final String STMT_DOC_CACHE = "doc-cache";
    public static final String STMT_BRIDGE = "bridge";
    public static final String STMT_BRIDGE_SET = "bridge-set";
    public static final String STMT_VALIDATOR = "validator";
    public static final String STMT_URL_APPENDER = "url-appender";
    public static final String STMT_URL_APPENDER2 = "url-appender2";
    public static final String STMT_STRING_LIST = "strlist";
    public static final String STMT_STRING_LIST_GROUP = "strlist-group";
    public static final String STMT_AS_YAML = "as-yaml";
    public static final String STMT_FROM_YAML = "from-yaml";
    public static final String STMT_MASK_REGEX = "mask-regex";
    public static final String STMT_MASK_IDCARD = "mask-idcard";
    public static final String STMT_MASK_MOBILE = "mask-mobile";
    public static final String STMT_MASK_EMAIL = "mask-email";
    public static final String STMT_MASK_DEFAULT = "mask-default";
    public static final String STMT_TT = "tt";
    public static final String STMT_TT_PARSE = "tt-parse";
    public static final String STMT_TT_OFFSET = "tt-offset";
    public static final String STMT_TT_HOUR = "tt-hour";
    public static final String STMT_TT_DAY = "tt-day";
    public static final String STMT_TT_WEEK = "tt-week";
    public static final String STMT_TT_MONTH = "tt-month";
    public static final String STMT_TT_YEAR = "tt-year";
    public static final String STMT_TT_DAY_BEGIN = "tt-day-begin";
    public static final String STMT_TT_WEEK_BEGIN = "tt-week-begin";
    public static final String STMT_TT_MONTH_BEGIN = "tt-month-begin";
    public static final String STMT_TT_YEAR_BEGIN = "tt-year-begin";
    public static final String STMT_RECURSE = "recurse";
    public static final String STMT_FILTER = "filter";
    public static final String STMT_STDIN = "stdin";
    public static final String STMT_STDOUT = "stdout";
    public static final String STMT_CRON_MATCH = "cron-match";
    public static final String STMT_ENVSUBSTR = "envsubstr";

    public static final String NULL = "";
    public static final String ZERO = "0";
    public static final String TRUE = "true";
    public static final String FALSE = "false";
    public static final String NEWLINE = "\n";

    public static enum DataType {
        STRING,
        INTEGER,
        LONG,
        DOUBLE,
        FLOAT,
        BOOLEAN
    }

    public static final String LOG_INFO = "info";
    public static final String LOG_WARNING = "warning";
    public static final String LOG_ERROR = "error";
    public static final String LOG_DEBUG = "debug";
    public static final String LOG_ID = "$logger";

    public static final String DFT_ACTIVITY = "main";
    public static final String KEY_SN = "$sn";
}
